#ifndef CONTROLSERVICE_H
#define CONTROLSERVICE_H

#include <QObject>
#include <memory>

class QGuiApplication;
class QQmlApplicationEngine;
class SetClothStyle;
class MsgControl;
class ImageProvider;
class ShowImage;

//所有qml消息拦截、控制器
class ControlService : public QObject
{
    Q_OBJECT
public:
    explicit ControlService(const QGuiApplication* parent = nullptr);
    ~ControlService();

    /**
      私有方法
      **/
private:
    //初始化注入实体类
    void __initBeans();
    //初始化qml引擎
    void __initQml(const QGuiApplication*);
    //初始化注入函数 完成beans到qml的注册
    void __initRegistBean();
    void __initSlots();

private:
    std::shared_ptr<QQmlApplicationEngine> m_qmlEngine;
    std::shared_ptr<SetClothStyle> m_SetClothStyle;
    std::shared_ptr<MsgControl> m_MsgControl;
    std::shared_ptr<ShowImage> m_ShowImage;

signals:

};

#endif // CONTROLSERVICE_H
